home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
System Booster
/
System Booster.iso
/
Disktools
/
DiskMate
/
DM.doc
< prev
next >
Wrap
Text File
|
1996-09-26
|
28KB
|
687 lines
DiskMateV4 ©93
RevisionV4.3 May
*------------ ---------------- --------------*
|\/| __ __ _
| | / ) /(__ / A3000/25Mtz
..| |AL /--\ / ___)/_ 6Meg/105Hd
DownUnder | malh@thedoc.wnet | Amiga/Next
DevelopMent | Malcolm Harvey | +65 75 726746
*------------ ---------------- --------------*
Overview.....* *---- DiskMate R4.3 ---------*
* Multitasking
* Multi drive Diskcopier Dos/NonDos
* Multi drive Disk formatter
* Multi drive Disk eraser
* Floppy disk Installer
* Floppy disk Checker
* Floppy disk Cruncher (DMS)
* Fully Configurable Version
*- DMS ©(SDS DiskSmasherUS) -*
*- ASL ©(CBM Commodore US) -*
* Programmed For O/S V2.0x/3.0x Beyond. *
Requirments.* *-------- NOTE: --------*
Will Run On Any Amiga with At Least
at least 150k mininum of ram: and at
least v2.04 operation system.
NOTE ABOUT LOADING:When loading the prg
do not close the window which you loaded
the prg from until you see the main copy
window. Because it uses that window for
its error requesters etc when loading.
LASTLY:As this prg is PublicDomain and
as such i cannot accept any responsibility
for prg errors/faults/corruption that
may happen by using this prg. Although I
have tried to test its functions Fully,
you just cannot always tell what might
happen on someone elses system.
NOTE To 1200 USERS: Or anyone else with
2meg chip and no fast mem. If when the
prg loads it will get the largest buffer
it can get to copy disks etc, which is
1.76 meg buffer for the highdensity disks
when or if you get em..:) With this mem
used you have only a litle over 200k of
free ram to play with, so do not use DMS
in this case at all as, It is a very memory
hungry program and will nearly always crash
or start and come up with an out of mem
error upon starting, which you may or may
not see so if you must use dms and you
have the above configuration please use
the dms.window prg instead which you can
also get from shareware or pd also
written by an australian programmer.
*-----------------------*
History....* *--- Diskmate History ---*
* Version 1.01..*
* Version 2.0...* (These versions never Released)
(Or never really ment to be..!)
* Version 2.0d..*
* Did not write time and date upon formatting.
* Could not write anymore than one dest device
when doing a ram to dest copy.
* Playing with the gadgets while operating
prog caused disterous resaults.
* Chkdisk Required 1meg Ram Buffer.
* Name string Showed all extra bytes
* Did not rcognize different disks if Formatted.
* Version 2.0e..*
* Fixed time/date routine.
* Added A Src Ram Drive Gadget.
* Implemented Multiple Dest from a Src Ram drive.
* Fixed Chkdsk Buffer uses internal buffer now.
* Fixed name String, Only prints Real length.
* Added Install Drive Gadget.
* Knows different Disks Dates now if Formatted.
* Version 2.1..*
* Implemented Multipass RamCopy.
* Ghosts Gadgets Now When in Operation
* Version 3.0..*
* Added Copying to DiskFile and Back.
* Added Copying to RadDrive and Back.
* Added Retry Gadget for Copy Errors Etc.
* Added Speech Routines.
* Added 880k/1.76m Disksize Formats
* Version 3.01..*
* Added Trk Direction for floppydrives
* Implemented built in help now
* Fixed Retry Bug
* Fixed Inhibit Drive Bug
* Fixed Verify Error Bug
* Prg Properly AutoCentres On Boot now
* Uses WB Beep Function now for Errors
* Implemented Multidrive Format
* Fixed memory Allocation Checking
* Added del function
* Added dir function
* Version 3.2..*
* Added options ofs/ffs in Install function
* Added ofs/ffs format option gadget
* Added shell window gadget
* Implemented Copying To/From Any Virtual Disk Device
* Fixed Asl Bug now keeps path/filename immediatly
* Added pattern gadget to asl requester which now
looks for ext .dm which is attached to all files
copied to hard disk etc using the file option
* Fixed Stop Gadget (Dosn't Stop now for no Reason)
* Version (4) Rev4.0-4.1..*
* Fixed Asl Crashing (Wont hang up now)
* Now writes Boot/Root Blocks Properly
* Vdisk Unit String now works properly to 99
You can also use 04 or 4 for example 4 etc now.
* Implemented Dos+ Copying Mode
* Added Viewing of Boot/Root Block hex/ascii
* Added Iconify Gadget
* Implemented Crunch Routine (Uses DMS ©SDS Software)
* Version (4) Rev4.2..(Final WB Release April17) *
* Fixed Freememory bug if window failed to
open from extreme use of a font that was to big
only really affected NTSC
* Fixed possible Gadget list crash in crunch window
* Fixed Retry Setting Bug with Restart routine
* Fixed speak/lib/dev open/closeBug
with Restart routine
* Implemented Full save Default(Custom) Settings
* Version (4) Rev4.3..(May20) *
* Fixed Strange bug with Prefs Saving which stopped
floppies working again when prefs loaded
* Implemented a cancel gadget in the save prefs
Note:It does the same as the ok gadget..Seams some
people found this a bit more understandable
as a way to quit this part of the prg
* Fixed Iconified Window Now uses Correct Font
Height If Changed
* Fixed Small Bug with Gadget Top Positioning When
Main window Reopened from iconified state
*----------------------*
Controls..* *---- Prg Controls R4.3 ----*
? Gadget: * ?=help: Well this is the builtin help. Click on
for help and click off again to quit. You can
also get this by pressing the help key.
F/B Direction Gadget: * F/B=TrkDirection. This gadget will let you toggle
the trk direction of the floppydrives either forward
or backward. This also works with rad.
Dir Gadget: * DIR=Directory. This will bring up the Asl Requester
which will let you have a look at a Directory of any
device connected to you system.
Del Gadget: * DEL=Delete. This will bring up the Asl Requester
which will let you delete a file on any device
connected to your system.
Stop Gadget: * Stop. This gadget will let you escape from any
drive accessing function in the program.
Note: Although this happens almost
instantly, at times you may have to hold
it down for a sec, this is due mainly
to the fact that it could be accessing
a disk therefore you could have to wait
till that disk whether reading or writing
is finished before it gets the message
to stop. For the techies>> The Main reason
for this is that it would take quite a
substantial amount of work to make it
interrupt driven, ie: using Sendio).
Ofs/Ffs Gadget: * OFS/FFS=Format Type. This gadget will select
the format type when using tthe auto option
in the erase routine or when clicking format
to format a disk.
ShellWindow: * ShellWindow=NewShell. This gadget will open
up a newshell window.
Magnify: * MagnifyBB=ViewBlock. This gadget will view
the root/boot block of any src disk selected.
The arrows in the viewing window will toggle
the viewing between the upper/lower two sectors.
Inst Gadget: * Install An AmigaDos BootBlock
on the Selected Src Drive. You Can Select either
ofs(old file system) ffs(fast file system) format.
Chk Gadget: * Check. This Gadget is used to Check a disk in
any of the Src Drives.
CompSpeaker Gadget: * Speech. If this gadget it set on, it will
speak any requester/name msg that will appear.
(Note..If Translator.lib or Narrator.device was
notfound the SP Gadget will be Ghosted.
DiskBusy Gadget: * Inhibit-Drive. In default mode this is set
off which will mean when an operation is started
eg: Diskcopy/Erase(kill) Etc, you will notice that a
busy icon will appear on the WorkBench Screen for
each Drive that is in use. And when that particular
operation is complete, the busy icon will disappear
and the disk(s) name(s) will appear again. If the
ID Gadget is selected all drives in the system will
go busy as described above untill deselected again.
This gives you the option of having/not having the
drives read each time you put a disk in a drives(s)
and to stop another prg from accessing that drive.
IconifyGadget: * Iconify Prg Gadget. This will make the prg
Turn into a small window up the topleft of
the workbench window. To return to the main prg
click the closebox on that window.
A Gadget: * A=About. Well here I am.
Name Gadget: * Name. This Gadget will show you the name of the
Selected Src Disk in the Status Window.
(Note. With certain disks either Erased or
NonDos, you will get the name NonDos.. Instead.
StatusWindow: * As the name implies, will show all msgs here
whether DiskCoping/Formatting or whatever.
SrcDstGadgets: * These are The Gadgets in 2 columns on the far right
of the program which deal with which particular
mode you are using either Erasing/DiskCopy.
When you Load the program Default, all the
FloppyDrive(s) that you have in your system
will either show up as usable/not ghosted or
they will be set to ghost mode (unasable).
They are fairly straightforward to use.
For example to use the diskcopy mode, just
select a src gadget and one or several
destination gadgets and that's it. If you want
To use the Single pass ram copy as well you
can select the Ram destination Gadget as well.
It will check to see if you have the memory
for the ram buffer to copy to first, and if not
it will give you a "not enough" requester. Else
if the Buffer is big enough, when you select
go it will copy to a ram buffer as well.
Note: The ram gadgets src/dest will be ghosted
or enabled depending on the available memory.
If you don't have the available memory for a
whole disk to copy to in one read, the ram
gadgets will be ghosted and you will go into
the multipass disk/ram copy. On the other
hand if you did have the memory the ram gadgets
will be enabled and this will copy the src to
the ram buffer in one read. If the copier goes
into the multipass mode, follow the approiate
requesters to swap disks etc when required.
Warning..If you have selected more than one dest
disk, ie df1/df2 etc, Do not remove them until
the message ok comes up in the status window,
telling you that the copying is completed, else
they will not be complete copies.
If the prg reads the whole disk in on one pass,
when and if the trk guage reaches across to
160 trks, all the other selected dest drives
(if you were doing multiple dest of course) would
be finished on the first pass - you would
then remove from there apropriate drive(s).
Now that you have read the src into ram, from
now on, if you want a copy of the image in ram
All you do is select src ram, then pick which
drive from the dest drives 0/1/2/3 you would
like that ram image written back too.
Once this is done it will write the Ram buffer
back to the disk(s) you have selected. The image
in ram will always stay there, until you do
another copy into ram again.
Vdisk: If this src/destination gadget is selected the
program will use your Virtual drive the same as a
floppy drive would above. Note: The prg can
only work with virtual disk devices of low density
or (880k) size AmigaFormat.
VdiskGaget: * Vdisk=Virtual Disk Drive. This Gadget will allow
you to select a virtual drive eg: rad/fms/vdo etc
for use just like a normal floppy-drive.
Note: As these devices may never be 100% reliable
although they usually work ok, use these devices
with care. If you do use a vdisk these can prove
to be a very fast copy way of copying multiple
disks. What to enter in vdisk window when opened.
VdiskName: RAD:/FF0:/VDO: ETC
Vdiskdev: ramdrive.device fms.device etc
vdiskunit: 0/1/2 etc for that particular dev above.
File: If this dest gadget is selected the program will
bring up the Asl Requester which will after entering
a filename in the filename box wil then allow
you to write a copy either a low/high density disk
to a file which can be anywhere on your system's
devices, eg: Harddrives/floppies or whatever.
Depending on what size you have selected 880/1.76,
the file will be either 901120/1802240 bytes in
length. And on the other hand if you select file
src, then a requester will pop up in which you can
select a file to write back to your destination
disks. WARNING:Make sure that you have the right
size disk in the drive for that particular drive
format, 880/1.76, Or else you will end up with a
disk with only half the data and the wrong sec size.
As a 800k writes 11*512 sec per trk, and a 1.76
write 22*512 sec per trk, So make sure its right!!.
Also if you tried to copy from a high-density file/
disk src to a vdisk drive this would not be allowed,
because the vdisk is only 880(1meg) in size. And the
same goes for the Ramdrive. When the prg loads it
will now check to see if it can get a 2meg buffer
for the 1.76 disks. If it cannot it will get either
the 1meg or 512k buffer instead. So if it could only
get a 1meg/512k buffer you would not be able to copy
a 1.76 disk to that buffer because it would be to
small. (I really only wrote copying to ram with the
High-Density disks for the users with Heaps of Ram,
that is why i dident bother with the multipass High
-Density to Ram Copy).
Low/High: As Stated above this is the Disk format size
selection gadget. Either 880(1meg)/1.76(2meg) Disks.
Note: At the moment it wil only format to
AmigaDos Format.
If Erase(Kill) Mode is selected, all you do is
select any Src drive(s) to erase and Select Go.
This function or operation will completly wipe
your floppy disk(s) like new. Note to make it
usuable with AmigDos see AutoGadget Below.
Dos/Dos+: * If the Dos Mode is Selected when copying for
example the prg will verify that the Src disk
Read ok and that the dest wrote ok.
If the Dos+ Mode is Selected it will verify
that the src read ok and that the dest wrote
ok and then it will read the dest again and then
compare the dest data with the src data and
make sure they are the same.
CrunchSwitchGadget: * On/Off=FileCrunch on/off. If off and you select
a dest file gadget and you are in the diskcopy
mode the prg will copy the src disk selected to
a file on any device etc. In the off position
the file will be either low(901120) or -
high(1802240) Bytes in Length. If the switch is
in the on position, the prg will use the DMS or
(DiskSmasher Prg) in you sys:c Directory...The
cli Version Turbo-Genericv1.11. It will then
crunch the src disk to the file selected using
the options in the Crunchoptions gadget. Note:
if you have any other dest gadget selected other
than the file gadget and you are using the on
crunch option eg:(DMS Crunch) the Src disk will
be read and packed first then the other drives
will then be written too. So wait untill all
drives are stopped and completed before you
remove the floppy(s) or else you will definatly
get some errors.
If reading from a crunched file you can only
select one dest floppy/vdisk device. As presently
i could not write a routine that would work to
my requirments successfully apart from some very
messy code so i opted for one disk read/write
to/from a dms file. If someone wants this to have
multiple dests from a src dms file i would
probably implement this sometime.
CrunchGadget: * CrunchGadget=(PRG/DMS(Crunch)Options.
If this gadget is clicked, it will open up a
window which will allow you to change options
that are used in the prg, either to do with the
crunch (Specifically DMS) or the main prg itself.
The DMS options are (NONE/HEAVY1/HEAVY2/BEST)
crunch mode. Warning:Do not use Dms At all unless
you have at least 1meg> of Ram: free after loading
diskmate. Or else If you do and you dont have the
ram you will find that it will pak but will
probably or not write anything at all.
(This is because DiskMate allocates buffers etc
and if it gets the full 2meg(1802240) for a high
density drive and you only have a 2meg machine
well you wouldent have enough ram for dms to
work properly.So Only use Dms If you have heaps
of memory...!!)
You can also see the action of the dms working
with the text option on. This will cause it too
come up with a window which you can see the dms
output in.
NOTE: To know what the cmode options mean above
see the appropriate DMS documentation for their
usage.
The last gadget in this window is the save
gadget. If this is clicked it will see if you
have a diskmate.cfg file in your sys:s directory.
if not it will create one which will save every
setting that you have set in diskmate. Upon
loading diskmate or restoring from the iconify
window the prg will check to see if this file
exists and if it does it will read that file
and reset diskmate to those settings or if it
wasnt found it will use the default built in
settings.
AutoGadget: * This Gadget is used in conjunction with the erase
(kill) function to let or enable you to format
a disk when it has finished the erasing. Eg:
To achieve this select erase mode, Set the Auto
Gadget down or selected, select any Src Drive(s)
to erase and then Select go. When the erase pass
is complete, it will automatically format the src
drives selected.
VerGadget: * This gadget can be enabled on any mode. If you
doing an erase(kill) it will check that the data
got written ok. Or if you were using the DiskCopy
mode, it will check both the reading of a src
disk or and any dest drives as its copying.
If You have the verify Selected you will get
a blue bar under the trk bar if that sec(s) is
ok, else if it had some error it will appear
in grey. (NOTE: The Colours in the Program
may vary depending on what colours you have
set for your workbench colours.
RetryGadget: * This gadget will only have any affect if the
verify gadget has been enabled or set on. If
it has then, if an error has been found the
disk with the error will go back and try and
read the trk/sec again, according to how many
times that you have set the value next to the
retry at. Using the up/down gadgets you can set
this to a value from 0-9 retries.
TrkGauge: * This displays where the disk has got up to.
The Trk bar shows up in white and extends across.
And as above the verify if set shows up below.
FmtGadget: * This gadget will if selected format a disk
in any src drive. When you select this Gadget
a requester will come up with the option of
either 1) Quick or 2) Complete format mode.
if 1 is selected it will just format the Boot
Block and Root Block. If 2 is picked it will
format the disk(s) completely. Note: the quick
option is only recommended for a disk that
you know is ok before hand. As it does not
write to any other sectors than the r/bb..
(DO NOT USE IT FOR STORING VALUABLE DATA TO).
or you may risk losing it. You have been warned.
And also as above, the disksize Gadgets apply.
So you can do either 800/1.76 disk format.
Note.If the autogadget is selected when you
selected fmt it will disreguard the autooption.
And also the ofs/ffs gadget will set which
type of format the disk will have when formatted
if using auto or just clicking format directly.
DiskFormats: If you have selected either diskcopy or c(check)
Gadget(s) and you see that the disk access stop
unusually early, this is because of a Track-
Disk Device error, Probably a disk format
unknown error, which will cause it to stop.
Stopping: * Apart from pressing the stop gadget to stop
some disk access, you can just remove a disk
from any drive. I put this option in as
you never know who might fool with your
computer when you're in the next room! Although
I wouldn't recommend you do the above at all!!.
Quit: * To quit select the Close Box.
Note: You can also use the Q or Esc Key.
HelpKey: * Brings up Prg Help.
DelKey: * Shows Prg Info......:-)
Recognition..* *----------------*
* Progammers RayDuck/Daryl Bartlett/Kyle Hodgets/Tom Gubler
Andrew Wright And Jason Bullin, for all their
help with code and ideas to programming in general.
Thankz Nic Wilson and Colin Bell for thier information.
* Helpers/Thankz
All Beta testing By Michael Harvey.
Raylph Downs for his Suggestions.
Mareeca Duck and Judy Miners for great cups of Tea.
*----------------*
Author..* *----------------*
DiskMate R4.3
©1993 Malcolm Harvey
Programmed 100% Assembly Language
Programming/Graphics .. Malcolm Harvey
Prg: * This prg has taken over 2000 hrs in Development
time to make.
* Amiga.......Amiga3000.
6meg ram.
105m QHD.
* Assemblers..Devpac.
Asm.
Debuggers...Monam.
Metascope.
* Editor......Cygnas.
* Graphix.....Dpaintiv.
Pixmate.
Powerwindows.
Bugs: * Please Send Any To The Address below *
* Maybe one day i can say it will be bugless :-) *
Address: 4/39 Duet Drive And remember support
Mermaid Waters aus amiga programmers
GoldCoast 4218 by paying for software
Qld Australia now and again!
*-----------------------------------------------*